// 定义Goods接口
// 再后端返回的数据中 可能存在多层级嵌套，或者要根据ID获取数组里面的对象，以数组这种形式的话是比较复杂的
// 把数组变成对象，也叫数据扁平化

const goodSymid = Symbol('goodid')
interface Goods {
  [goodSymid]: number
  name: string
  price: number
}

// 实现数据扁平化 [准备]
// Record类型
type Record<K extends keyof any, T> = {
  [P in K]: T
}

type resultGoodsType = Record<number, Goods>
let goodRecord: Record<number, Goods> = {} // 允许空对象
let good: Goods = { [goodSymid]: 101, name: '苹果', price: 9 }
//{101: { [goodSymid]: 101, "name": "苹果", "price": 9 }}
goodRecord[good[goodSymid]] = good
console.log(goodRecord)

export {}
